﻿using System;
using System.Collections;

namespace Program18
{
    class Program
    {

        static void Main(string[] args)
        {
            #region 两个数组合并成一个并去重复值
            int[] nums1 = {1,2,4,5,8};
            int[] nums2 = {2,4,8,6,9};
            ArrayList arr1 = new ArrayList();
            for (int i = 0; i < nums1.Length; i++)
            {
                if (!arr1.Contains(nums1[i]))
                {
                    arr1.Add(nums1 [i]);
                    if (!arr1.Contains(nums2[i]))
                    {
                        arr1.Add(nums2[i]);
                    }
                }
            }
            foreach (var item in arr1)
            {
                Console.WriteLine(item);
            }
            #endregion
            Console.ReadLine();
            //冒泡排序
            //随机生成10000个元素的数组
            //int[] nums = new int[1000];
            //ArrayList arr = new ArrayList();
            //Random rnd = new Random();

            //while (arr.Count < 1000)
            //{
            //    int tempNum = rnd.Next(1, 10000);
            //    if (!arr.Contains(tempNum))
            //    {
            //        arr.Add(tempNum);
            //    }
            //}
            //for (var i = 0; i < nums.Length; i++)
            //{
            //    nums[i] = (int)arr[i];
            //    Console.Write(nums[i] + " ");
            //}

            //Console.WriteLine();
            //Console.WriteLine("排序后...");
            //     //C#类库，队列的排序方法
            //    //Array.Sort(nums);
            //    //Array.Reverse(nums);
            //    //从第一个元素遍历到倒数第二个元素
            //    for (var i = 0; i < nums.Length - 1; i++)
            //    {
            //        for (var j = 0; j < nums.Length - i - 1; j++)
            //        {
            //            if (nums[j] > nums[j + 1])
            //            {
            //                //如果当前元素大于后续元素，它们进行交换
            //                var tmp = nums[j];
            //                nums[j] = nums[j + 1];
            //                nums[j + 1] = tmp;
            //            }
            //        }
            //    }
            //    for (var i = 0; i < nums.Length; i++)
            //        Console.Write(nums[i] + " ");

            //选择排序
            //int minIndex;
            //for (var i = 0; i < nums.Length - 1; i++)
            //{
            //    minIndex = i;
            //    //查询余下数组中最小值的下标，存放到minIndex
            //    for (var j = i + 1; j < nums.Length; j++)
            //    {
            //        if (nums[j] < nums[minIndex])
            //        {
            //            minIndex = j;
            //        }
            //    }
            //    var tmp = nums[i];
            //    nums[i] = nums[minIndex];
            //    nums[minIndex] = tmp;
            //}
            //for (var i = 0; i < nums.Length; i++)
            //    Console.Write(nums[i] + " ");
        }
    }
}